package cn.zs.supply.service.impl;

import cn.zs.supply.common.annotation.LoginMethod;
import cn.zs.supply.common.annotation.LoginService;
import cn.zs.supply.common.core.security.simple.Use;
import cn.zs.supply.dao.UserMapper;
import cn.zs.supply.po.UserTest;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.List;

@Component
@LoginService
public class LonginServiceImp {
    @Resource
    private UserMapper userMapper;
    /**
     * 登录查询格式
     * @LoginMethod @LoginService 注解
     * Use 类入参和返回
     * UserTest 为当前系统的用户表示例
     * @param use
     * @return
     */
    @LoginMethod
    public Use selectUse(Use use){
        /**
         * 通用map查询
         */
        UserTest userTest=new  UserTest();
        userTest.setUserName(use.getUsername());
        List<UserTest> u=userMapper.select(userTest);
        /*
         * 账户重复,数据存在问题
         */
        if(u.size()>1){
            return null;
        }
        /**
         * 将查询出的密码写入use，供安全框架校验
         */
        use.setPassword(u.get(0).getPassword());
        /**
         * 写入账户信息以供登录后调取
         */
        use.setObject(u.get(0));
        return  use;
    }
}